﻿//quando chega no dia 4 o total dia ta diferente da aba das entradas
var permissao;
$(document).ready(function () {
    $("#loader").hide();
    $(".nav li").removeClass("active");
    $(".nav li.caixa").addClass("active");

    var width = $(".container").width();
    $('#telacaixa').css('height', ($(window).height()) * .691);
    var colModel = [
            { display: 'CÓD', name: 'id_caixas', width: width * 0.08, sortable: true, align: 'center' },
            { display: 'Nome', name: 'nome', width: width * 0.25, sortable: true, align: 'center' },
            { display: 'Tipo', name: 'tipo', width: width * 0.16, sortable: true, align: 'center' },
            { display: 'Atualização', name: 'atualizacao', width: width * 0.20, sortable: true, align: 'center' },
            { display: 'Clinica', name: 'cidade', width: width * 0.20, sortable: true, align: 'center' }
    ];

    var buttons = [
            { name: 'Detalhes', bclass: 'find', onpress: detalhar },
            { name: 'Adicionar', bclass: 'add', onpress: addToTable },
            { name: 'Adc.Movimentação', bclass: 'cash', onpress: addEntrada }
            ,{ name: 'Remover', bclass: 'delete', onpress: deleteFromTable }
    ];

    var searchitems = [
        { display: 'Nome', name: 'nome', isdefault: true },
        { display: 'Tipo', name: 'tipo' }
    ];

    var d = new Date();

    var month = d.getMonth() + 1;
    var day = d.getDate();

    var data = (day < 10 ? '0' : '') + day + '/' + (month < 10 ? '0' : '') + month + '/' + d.getFullYear();
    $('#conteudo_date').text(data);

    permissao = getPermissao();
    insereGrid("gridi", "Caixa.aspx/getDados", colModel, buttons, searchitems, "Caixa", "id_caixas", "asc", true, width, parseInt(screen.availHeight * 0.46));

    $("#mais").bind('click', function () { maioumeno(1) });
    $("#menos").bind('click', function () { maioumeno(-1) });
    $("#todasdatas").bind('click', function () { detalhar2(); });
    //$('a').bind('click', function () { $('#tabDetalhes a:second').tab('show'); });
    // $('.delete').bind('click', function () { alert('joemlma'); });

});

function getPermissao() {
    var ret;
    $.ajax({
        type: 'POST',
        url: 'Comparecimento.aspx/getPermissao',
        dataType: 'json',
        async: false,
        contentType: "application/json; charset=utf-8",
        success: function (data) {
            ret = data.d;
        }
    });
    return ret;
}

function addToTable() {
    if (permissao == 0) {
        alert("Você possui permissão apenas para visualização do sistema");
    } else {
        $('#formulario').modal('show');
        $('#tabCadastro a:first').tab('show');
    }
}

function addEntrada() {
    if (permissao == 0) {
        alert("Você possui permissão apenas para visualização do sistema");
    } else {
        var id = $(".flexigrid .trSelected td:eq(0)").text();
        if (id == "") {
            alert('Nenhum caixa foi selecionado');
        } else {
            $('#entrada_observacoes').text('');
            $('#addEntrada').modal('show');
            $('#tabEntrada a:first').tab('show');
        }
    }
}

function deleteFromTable() {
    var atualizacao = $(".flexigrid .trSelected td:eq(3)").text();
    if (atualizacao === 'Manual') {
        if (permissao < 2) {
            alert("Você não possui permissão para realizar essao operação");
        } else {
            var id = $(".flexigrid .trSelected td:eq(0)").text();
            if (id == "")
                alert('Nenhum caixa foi selecionado para exclusão');
            else if (confirm('Todas as informações do Caixa selecionado serão excluídas')) {
                $.ajax({
                    type: 'POST',
                    url: 'Caixa.aspx/deleteFromTable',
                    data: "{id:" + id + "}",
                    dataType: 'json',
                    contentType: "application/json; charset=utf-8",
                    success: function (data) {
                        $("#gridi").flexReload();
                        alert('Caixa excluido');
                    }, error: function () { alert('Erro na exclusão do caixa'); }
                });
            }
        }
    } else {
        alert('Este caixa não pode ser removido do sistema');
    }
}

function detalhar() {
    var d = new Date();

    var month = d.getMonth() + 1;
    var day = d.getDate();
    var data = (day < 10 ? '0' : '') + day + '/' + (month < 10 ? '0' : '') + month + '/' + d.getFullYear();
    $('#conteudo_date').text(data);
    var id = $(".flexigrid .trSelected td:eq(0)").text();
    var date = $('#conteudo_date').text();
    var todas = false;
    if ($('#todasdatas').is(':checked'))
        todas = true;
    if (id == "") {
        alert('Nenhum caixa foi selecionado');
    }
    else {
        $.ajax({
            type: 'POST',
            url: 'Caixa.aspx/getCaixaComTransacoes',
            data: "{id:" + id + ", data:'"+date+"', todas:"+todas+"}",
            dataType: 'json',
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                var tudo = data.d.split('<>#<>');
                var dados = tudo[0];
                var caixa_valor = tudo[1];
                var transacoes = caixa_valor.split('<>entradas<>')[0];
                var somas = caixa_valor.split('<>entradas<>')[1];

                var somaDia = somas.split('<>soma_dia<>')[0];

                var somaTotal = somas.split('<>soma_dia<>')[1];

                var transacoes2 = transacoes.split('/#/');
                //alert(transacoes2[0]);
                var num_transacoes = (parseInt(transacoes2.length / 3, 10));
                var i = 0;

                $("#tab_transacoes tbody tr:gt(0)").remove();
                while (i < transacoes2.length) {
                    if (transacoes2.length == 1)
                        break;
                //if (i === 0) {
                //declarar a tab ou por a merda do cabecalho aki
                // }
                
               // alert(transacoes2[i]);
                    var str = $("#tab_transacoes tbody").html()
                              + '<tr><td><label>' + transacoes2[i] + '</label></td>' +
                                '<td><label>' + transacoes2[(i + 1)] + '</label></td>' +
                                '<td><label>' + transacoes2[(i + 2)].split(' ')[0] + '</label></td>' +
                                '<td><label>' + transacoes2[(i + 3)] + '</label></td></tr>';
                    $("#tab_transacoes tbody").html(str);
                    ++i; ++i; ++i; ++i;
                }

                $('#caixa_nome').val(dados.split('/#/')[0]);
                if (dados.split('/#/')[1] === 'Entrada/Ganho') {
                    $("#caixa_tipo")[0].selectedIndex = 0;
                } else {
                    $("#caixa_tipo")[0].selectedIndex = 1;
                }
                //$('#caixa_tipo').val(dados.split('/#/')[1]);

                $('#caixa_atualizacao').val(dados.split('/#/')[2]);
                $('#caixa_clinica').val(dados.split('/#/')[3]);

                $('#caixa_total_dia').val(somaDia);
                $('#caixa_total').val(somaTotal);

                $('#detalharCaixa').modal('show').width('600px');
                $('#tabDetalhes a:first').tab('show');


                $("#transacoes").bind('click', function () { $('#tabDetalhes a:eq(1)').tab('show'); });
                $("#detalhes").bind('click', function () { $('#tabDetalhes a:eq(0)').tab('show'); });

            }, error: function () { alert('Erro ao recuperar dados do caixa'); }
        });

    }
}

function detalhar2() {    
    carregando();
    $("#tab_transacoes tbody tr:gt(0)").remove();

    var id = $(".flexigrid .trSelected td:eq(0)").text();
    var date = $('#conteudo_date').text();
    //alert(date);
    var todas = false;
    if ($('#todasdatas').is(':checked'))
        todas = true;
    if (id == "") {
        alert('Nenhum caixa foi selecionado');
    }
    else {
        $.ajax({
            type: 'POST',
            url: 'Caixa.aspx/getCaixaComTransacoes',
            data: "{id:" + id + ", data:'" + date + "', todas:" + todas + "}",
            dataType: 'json',
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                var tudo = data.d.split('<>#<>');
                var dados = tudo[0];
                var caixa_valor = tudo[1];
                var transacoes = caixa_valor.split('<>entradas<>')[0];
                
                var somas = caixa_valor.split('<>entradas<>')[1];

                var somaDia = somas.split('<>soma_dia<>')[0];

                var somaTotal = somas.split('<>soma_dia<>')[1];

                var transacoes2 = transacoes.split('/#/');
                //alert(transacoes2[0]);
                var num_transacoes = (parseInt(transacoes2.length / 3, 10));
                var i = 0;
                while (i < transacoes2.length) {
                    if (transacoes2.length == 1)
                        break;
                    //if (i === 0) {
                    //declarar a tab ou por a merda do cabecalho aki
                    // }

                    // alert(transacoes2[i]);
                    var str = $("#tab_transacoes tbody").html()
                              + '<tr><td><label>' + transacoes2[i] + '</label></td>' +
                                '<td><label>' + transacoes2[(i + 1)] + '</label></td>' +
                                '<td><label>' + transacoes2[(i + 2)].split(' ')[0] + '</label></td>' +
                                '<td><label>' + transacoes2[(i + 3)] + '</label></td></tr>';
                    $("#tab_transacoes tbody").html(str);
                    ++i; ++i; ++i; ++i;
                }

                $('#caixa_nome').val(dados.split('/#/')[0]);
                if (dados.split('/#/')[1] === 'Saida/Despesa') {
                    $('#caixa_tipo').selectedIndex = 1;
                }
                //$('#caixa_tipo').val(dados.split('/#/')[1]);
                $('#caixa_atualizacao').val(dados.split('/#/')[2]);
                $('#caixa_clinica').val(dados.split('/#/')[3]);

                $('#caixa_total_dia').val(somaDia);
                $('#caixa_total').val(somaTotal);

                //$('#detalharCaixa').modal('show').width('600px');
                //$('#tabDetalhes a:eq(1)').tab('show');


                $("#transacoes").bind('click', function () { $('#tabDetalhes a:eq(1)').tab('show'); });
                $("#detalhes").bind('click', function () { $('#tabDetalhes a:eq(0)').tab('show'); });

            }, error: function () {
                //$("#loader").hide();
                alert('Erro ao recuperar dados do caixa');
            }, complete: function () {
                //$("#loader").hide();
            }
        });
    }
}

function carregando() {
    //$("#loader").fadeIn(); //Mostra o gif
    //$("#loader").focus();
    //$('#tabTransacoesCaixa').attr('disabled', 'disabled');
}

function ConfirmAddButtonDetalhes() {
    var atualizacao = $('#caixa_atualizacao').val();
    if (atualizacao === 'Manual') {
        if (permissao > 1) {
            var nome = "";
            var tipo = "";
            var id = $(".flexigrid .trSelected td:eq(0)").text();
            nome += $("#caixa_nome").val();
            tipo += $("#caixa_tipo").val();

            if (tipo === 'saida')
                tipo = 'Saida/Despesa';
            if (tipo === 'entrada')
                tipo = 'Entrada/Ganho';

            if (verificavazio(nome)) {
                $.ajax({
                    type: 'POST',
                    url: 'Caixa.aspx/editarCaixa',
                    data: "{id: " + id + ", nome:'" + nome + "', tipo: '" + tipo + "'}",
                    dataType: 'json',
                    contentType: "application/json; charset=utf-8",
                    success: function (data) {
                        alert('Caixa alterado com sucesso');
                        $("#gridi").flexReload();
                    }, error: function () { alert('Falha na alteração'); }
                });

                $("#detalharCaixa").modal('toggle');
                $(".tab-pane input").val('');
            }
        } else {
            alert('Apenas o administrador do sistema tem permissão para alterar o caixa');
        }
    } else {
        alert('Este caixa não pode ser alterado no sistema');
    }
}



function ConfirmAddButton() {
    var nome = $("#nome_caixa").val();
    var tipo = $("#tipo_caixa").val();

    if (permissao != 0) {

        if (tipo === 'saida')
            tipo = 'Saida/Despesa';
        if (tipo === 'entrada')
            tipo = 'Entrada/Ganho';

        //var hora = $("#horario").text();

        if (verificavazio(nome)) {
            $.ajax({
                type: 'POST',
                url: 'Caixa.aspx/addToTable',
                data: "{nome:'" + nome + "', tipo: '" + tipo + "'}",
                dataType: 'json',
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    //alert('Caixa inserido com sucesso');
                    $("#gridi").flexReload();
                }, error: function () { alert('Falha na Inserção'); }
            });

            $("#formulario").modal('toggle');
            $(".tab-pane input").val('');
            //document.getElementById("selectID").selectedIndex = -1;
            //document.getElementById("conteudo_dentista").selectedIndex = -1;
        } else {
            alert("Todos os Campos são Obrigatórios");
        }
    } else {
        alert("Você possui permissão apenas para visualização");
    }
}

function ConfirmAddButtonEntrada() {

    if (permissao != 0) {
        var valor = "";
        var obs = "";
        var id = $(".flexigrid .trSelected td:eq(0)").text();

        valor += $("#entrada_valor").val();
        obs += $("#entrada_observacoes").val();

        //var hora = $("#horario").text();

        if (verificavazio(valor)) {
            $.ajax({
                type: 'POST',
                url: 'Caixa.aspx/addEntrada',
                data: "{id:" + id + ",valor:" + valor + ", obs: '" + obs + "'}",
                dataType: 'json',
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    $("#addEntrada").modal('toggle');
                    $(".tab-pane input").val('');
                    alert('Entrada realizada com sucesso');
                }, error: function () { /*alert('errol');*/ }
            });


        } else {
            alert("Todos os Campos são Obrigatórios");
        }
    } else {
        alert("Você possui permissão apenas para visualização");
    }
}

function CancelButton() {
    $("#formulario").modal('toggle');
    $(".tab-pane input").val('');    
}

function CancelButtonDetalhes() {
    
    $("#detalharCaixa").modal('toggle');
    $(".tab-pane input").val('');
}

function CancelButtonEntrada() {
    $("#addEntrada").modal('toggle');
    $(".tab-pane input").val('');
}

function verificavazio(str) {
    if (str === "" || str === null) {
        return false;
    } else {
        return true;
    }
}

function maioumeno(i) {
    $.ajax({
        type: 'POST',
        url: 'Comparecimento.aspx/getDate',
        data: "{data:'" + $("#conteudo_date").text() + "', maioumeno:" + i + "}",
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function (data) {
            if (data.d == "ERRO")
                alert("Data Inválida");
            else {
                $("#conteudo_date").text(data.d);
                $("#grid").flexReload();
            }
        }, complete: function () { detalhar2(); }
    });
    
}